import { Injectable } from '@nestjs/common';
import { InjectModel } from '@nestjs/mongoose';
import { Model } from 'mongoose';

import { User, UserDocument } from './schema/user.schema';
import { Depart, DepartDocument } from './schema/depart.schema';
import { Role, RoleDocument } from './schema/role.schema';
import { UserRole, UserRoleDocument } from './schema/userRole.schema';
import { Menu, MenuDocument } from './schema/menu.schema';

@Injectable()
export class MongodbService {
  // 人员模型
  @InjectModel(User.name)
  readonly UserModel: Model<UserDocument>;

  // 角色模型
  @InjectModel(Role.name)
  readonly RoleModel: Model<RoleDocument>;

  // 人员角色关联模型
  @InjectModel(UserRole.name)
  readonly UserRoleModel: Model<UserRoleDocument>;

  // 部门模型
  @InjectModel(Depart.name)
  readonly DepartModel: Model<DepartDocument>;

  // 菜单模型
  @InjectModel(Menu.name)
  readonly MenuModel: Model<MenuDocument>;
}

// @Injectable()
// export class MongodbService {
//   constructor(
//     // 人员模型
//     @InjectModel(User.name, 'UserDB')
//     readonly UserModel: Model<UserDocument>,

//     // 部门模型
//     @InjectModel(Depart.name, 'DepartDB')
//     readonly DepartModel: Model<DepartDocument>,
//   ) {}
// }
